import axios from 'axios';
import {useUserStore} from "../stores";
import {ElMessage} from "element-plus";

const userStore = useUserStore()


// 创建一个Axios实例
const instance = axios.create({
    baseURL: 'http://localhost:8888', // 设置基本URL
    timeout: 5000 // 设置请求超时时间
});



// 添加请求拦截器
instance.interceptors.request.use(
    config => {

        // 在发送请求之前做些什么
        const token = userStore.token
        if (token!=null){
            config.headers.Authorization = token;
        }
        return config;
    },
    error => {
        // 对请求错误做些什么

        return Promise.reject(error);
    }
);

// 添加响应拦截器
instance.interceptors.response.use(
    response => {
        // 对响应数据做些什么
        return response.data;
    },
    error => {
        // 对响应错误做些什么
        const status = error.response.status;
        if (status===503){
            ElMessage({showClose: false, message: '服务器未启动', type: 'warning'})
        }else {
            userStore.removeToken()
        }
        return {
            data: {
                data: '',
                error:"请重新登录"
            }
        }
    }
);

export default instance;
